<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>eRPC API Reference: erpc_message_buffer.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="nxp_logo_small.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">eRPC API Reference
   &#160;<span id="projectnumber">Rev. 1.7.4</span>
   </div>
   <div id="projectbrief">NXP Semiconductors</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>API&#160;Reference</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('erpc__message__buffer_8h_source.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">erpc_message_buffer.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="erpc__message__buffer_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Copyright (c) 2014-2016, Freescale Semiconductor, Inc.</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * Copyright 2016 NXP</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * All rights reserved.</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> * SPDX-License-Identifier: BSD-3-Clause</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="preprocessor">#ifndef _EMBEDDED_RPC__MESSAGE_BUFFER_H_</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="preprocessor">#define _EMBEDDED_RPC__MESSAGE_BUFFER_H_</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#include &quot;erpc_common.h&quot;</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="preprocessor">#include &lt;cstddef&gt;</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#include &lt;stdint.h&gt;</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;</div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">// Classes</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceerpc.html">erpc</a> {</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="classerpc_1_1_message_buffer.html">   36</a></span>&#160;<span class="keyword">class </span><a class="code" href="classerpc_1_1_message_buffer.html">MessageBuffer</a></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;{</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="classerpc_1_1_message_buffer.html#ada32e828c2edcd3546376d4d3ee90081">   44</a></span>&#160;    <a class="code" href="classerpc_1_1_message_buffer.html#ada32e828c2edcd3546376d4d3ee90081">MessageBuffer</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    : m_buf(0)</div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    , m_len(0)</div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;    , m_used(0)</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    {</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    }</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="classerpc_1_1_message_buffer.html#a7785b972a2ed8719a7afcd8f15c1b3ca">   59</a></span>&#160;    <a class="code" href="classerpc_1_1_message_buffer.html#a7785b972a2ed8719a7afcd8f15c1b3ca">MessageBuffer</a>(uint8_t *buffer, uint16_t length)</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    : m_buf(buffer)</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;    , m_len(length)</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    , m_used(0)</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    {</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    }</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="classerpc_1_1_message_buffer.html#ae68c8d9c1ded075f6a85ecd92fb958be">   74</a></span>&#160;    <span class="keywordtype">void</span> <span class="keyword">set</span>(uint8_t *buffer, uint16_t length)</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;    {</div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;        m_buf = buffer;</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;        m_len = length;</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;        m_used = 0;</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;    }</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div><div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="classerpc_1_1_message_buffer.html#adb0539e7fbd649e0902efb61b7b7cf6b">   86</a></span>&#160;    uint8_t *<span class="keyword">get</span>(void) { <span class="keywordflow">return</span> m_buf; }</div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="classerpc_1_1_message_buffer.html#aab101146fdec5df33e7bdf7608dddcef">   93</a></span>&#160;    <span class="keyword">const</span> uint8_t *<span class="keyword">get</span>(void) <span class="keyword">const</span> { <span class="keywordflow">return</span> m_buf; }</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;</div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="classerpc_1_1_message_buffer.html#a064fda9eef763265dd9de81142011e33">  100</a></span>&#160;    uint16_t <a class="code" href="classerpc_1_1_message_buffer.html#a064fda9eef763265dd9de81142011e33">getLength</a>(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_len; }</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="classerpc_1_1_message_buffer.html#aa0aa4b6ee452d083cbaaf0ce5fe6517f">  107</a></span>&#160;    uint16_t <a class="code" href="classerpc_1_1_message_buffer.html#aa0aa4b6ee452d083cbaaf0ce5fe6517f">getUsed</a>(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_used; }</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="classerpc_1_1_message_buffer.html#a7432d37f64b91d65a8df06016cec22e1">  114</a></span>&#160;    uint16_t <a class="code" href="classerpc_1_1_message_buffer.html#a7432d37f64b91d65a8df06016cec22e1">getFree</a>(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_len - m_used; }</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;</div><div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="classerpc_1_1_message_buffer.html#aa0170a6e243e15fc7271d792624b3e96">  121</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classerpc_1_1_message_buffer.html#aa0170a6e243e15fc7271d792624b3e96">setUsed</a>(uint16_t used) { m_used = used; }</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;    <a class="code" href="group__infra.html#ga5f8872e58f09a16d192bf664f9898651">erpc_status_t</a> <a class="code" href="classerpc_1_1_message_buffer.html#a046c0aa6baf607d5de23f18cfa13f08e">read</a>(uint16_t offset, <span class="keywordtype">void</span> *data, uint32_t length);</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;    <a class="code" href="group__infra.html#ga5f8872e58f09a16d192bf664f9898651">erpc_status_t</a> <a class="code" href="classerpc_1_1_message_buffer.html#a9f47a5776a51c53d4a8516c354d21d19">write</a>(uint16_t offset, <span class="keyword">const</span> <span class="keywordtype">void</span> *data, uint32_t length);</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;    <a class="code" href="group__infra.html#ga5f8872e58f09a16d192bf664f9898651">erpc_status_t</a> <a class="code" href="classerpc_1_1_message_buffer.html#ad37d276294bd8d587a741ce0cee14967">copy</a>(<span class="keyword">const</span> <a class="code" href="classerpc_1_1_message_buffer.html">MessageBuffer</a> *other);</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classerpc_1_1_message_buffer.html#a673ecf17b4876dcf4dff6313c5375d8c">swap</a>(<a class="code" href="classerpc_1_1_message_buffer.html">MessageBuffer</a> *other);</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="classerpc_1_1_message_buffer.html#ac846f6d4c3acba8c49995d4d338b11e9">  164</a></span>&#160;    <span class="keyword">operator</span> uint8_t *(void) { <span class="keywordflow">return</span> m_buf; }</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="classerpc_1_1_message_buffer.html#a553560547fa1b61a113a81279b80d043">  169</a></span>&#160;    <span class="keyword">operator</span> <span class="keyword">const</span> uint8_t *(void)<span class="keyword">const</span> { <span class="keywordflow">return</span> m_buf; }</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;</div><div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="classerpc_1_1_message_buffer.html#aedf09a86aef402ba74387c8590bcf23c">  176</a></span>&#160;    uint8_t &amp;<a class="code" href="classerpc_1_1_message_buffer.html#aedf09a86aef402ba74387c8590bcf23c">operator[]</a>(<span class="keywordtype">int</span> index) { <span class="keywordflow">return</span> m_buf[index]; }</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;</div><div class="line"><a name="l00183"></a><span class="lineno"><a class="line" href="classerpc_1_1_message_buffer.html#a2f3450dcebc3fec37f2d5719847042f8">  183</a></span>&#160;    <span class="keyword">const</span> uint8_t &amp;<a class="code" href="classerpc_1_1_message_buffer.html#a2f3450dcebc3fec37f2d5719847042f8">operator[]</a>(<span class="keywordtype">int</span> index)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_buf[index]; }</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;</div><div class="line"><a name="l00188"></a><span class="lineno"><a class="line" href="classerpc_1_1_message_buffer_1_1_cursor.html">  188</a></span>&#160;    <span class="keyword">class </span><a class="code" href="classerpc_1_1_message_buffer_1_1_cursor.html">Cursor</a></div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;    {</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00196"></a><span class="lineno"><a class="line" href="classerpc_1_1_message_buffer_1_1_cursor.html#a60509ca3865cd27ce1200acf6ea21393">  196</a></span>&#160;        <a class="code" href="classerpc_1_1_message_buffer_1_1_cursor.html#a60509ca3865cd27ce1200acf6ea21393">Cursor</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;        : m_buffer(NULL)</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;        , m_pos(NULL)</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;        , m_remaining(0)</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;        {</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;        }</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;</div><div class="line"><a name="l00210"></a><span class="lineno"><a class="line" href="classerpc_1_1_message_buffer_1_1_cursor.html#a0e15e87d9811aa62005be4a985b94451">  210</a></span>&#160;        <a class="code" href="classerpc_1_1_message_buffer_1_1_cursor.html#a0e15e87d9811aa62005be4a985b94451">Cursor</a>(<a class="code" href="classerpc_1_1_message_buffer.html">MessageBuffer</a> *buffer)</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;        : m_buffer(buffer)</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;        , m_pos(buffer-&gt;<a class="code" href="classerpc_1_1_message_buffer_1_1_cursor.html#a63d96e45fb73f509b40c9692734b77c8">get</a>())</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;        , m_remaining(buffer-&gt;<a class="code" href="classerpc_1_1_message_buffer.html#a064fda9eef763265dd9de81142011e33">getLength</a>())</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;        {</div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;        }</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;        <span class="keywordtype">void</span> <span class="keyword">set</span>(<a class="code" href="classerpc_1_1_message_buffer.html">MessageBuffer</a> *buffer);</div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;</div><div class="line"><a name="l00231"></a><span class="lineno"><a class="line" href="classerpc_1_1_message_buffer_1_1_cursor.html#a63d96e45fb73f509b40c9692734b77c8">  231</a></span>&#160;        uint8_t *<span class="keyword">get</span>(void) { <span class="keywordflow">return</span> m_pos; }</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno"><a class="line" href="classerpc_1_1_message_buffer_1_1_cursor.html#a4d588e8e587f3b21c252ea98e37b9e91">  240</a></span>&#160;        <span class="keyword">const</span> uint8_t *<span class="keyword">get</span>(void) <span class="keyword">const</span> { <span class="keywordflow">return</span> m_pos; }</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;</div><div class="line"><a name="l00247"></a><span class="lineno"><a class="line" href="classerpc_1_1_message_buffer_1_1_cursor.html#a6f3dff599ef13d4ffca7e5d559a50afa">  247</a></span>&#160;        uint16_t <a class="code" href="classerpc_1_1_message_buffer_1_1_cursor.html#a6f3dff599ef13d4ffca7e5d559a50afa">getRemaining</a>(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_remaining; }</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;        <a class="code" href="group__infra.html#ga5f8872e58f09a16d192bf664f9898651">erpc_status_t</a> <a class="code" href="classerpc_1_1_message_buffer_1_1_cursor.html#a13613fadb3bb88585f5802ff845259a4">read</a>(<span class="keywordtype">void</span> *data, uint32_t length);</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;        <a class="code" href="group__infra.html#ga5f8872e58f09a16d192bf664f9898651">erpc_status_t</a> <a class="code" href="classerpc_1_1_message_buffer_1_1_cursor.html#a7e3588d2e063d827dbe5dbf72d5952e8">write</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *data, uint32_t length);</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;</div><div class="line"><a name="l00274"></a><span class="lineno"><a class="line" href="classerpc_1_1_message_buffer_1_1_cursor.html#aa5019dc0b15d584306b7f8048471a7c7">  274</a></span>&#160;        <span class="keyword">operator</span> uint8_t *(void) { <span class="keywordflow">return</span> m_pos; }</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;</div><div class="line"><a name="l00279"></a><span class="lineno"><a class="line" href="classerpc_1_1_message_buffer_1_1_cursor.html#ae4f90eaa930d92cc411272df9f038218">  279</a></span>&#160;        <span class="keyword">operator</span> <span class="keyword">const</span> uint8_t *(void)<span class="keyword">const</span> { <span class="keywordflow">return</span> m_pos; }</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;</div><div class="line"><a name="l00286"></a><span class="lineno"><a class="line" href="classerpc_1_1_message_buffer_1_1_cursor.html#a721666b1b9f1460e103a4b69fabf063d">  286</a></span>&#160;        uint8_t &amp;<a class="code" href="classerpc_1_1_message_buffer_1_1_cursor.html#a721666b1b9f1460e103a4b69fabf063d">operator[]</a>(<span class="keywordtype">int</span> index) { <span class="keywordflow">return</span> m_pos[index]; }</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;</div><div class="line"><a name="l00293"></a><span class="lineno"><a class="line" href="classerpc_1_1_message_buffer_1_1_cursor.html#a419699bfaa21427f8b34c95222479e54">  293</a></span>&#160;        <span class="keyword">const</span> uint8_t &amp;<a class="code" href="classerpc_1_1_message_buffer_1_1_cursor.html#a419699bfaa21427f8b34c95222479e54">operator[]</a>(<span class="keywordtype">int</span> index)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_pos[index]; }</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;</div><div class="line"><a name="l00302"></a><span class="lineno"><a class="line" href="classerpc_1_1_message_buffer_1_1_cursor.html#ab3ea93264bdf3679f3d77e53f1f85552">  302</a></span>&#160;        <a class="code" href="classerpc_1_1_message_buffer_1_1_cursor.html">Cursor</a> &amp;<a class="code" href="classerpc_1_1_message_buffer_1_1_cursor.html#ab3ea93264bdf3679f3d77e53f1f85552">operator+=</a>(uint16_t n)</div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;        {</div><div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;            m_pos += n;</div><div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;            m_remaining -= n;</div><div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;            <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;        }</div><div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;</div><div class="line"><a name="l00316"></a><span class="lineno"><a class="line" href="classerpc_1_1_message_buffer_1_1_cursor.html#a02907775cbd61bd0637398a3ea62c335">  316</a></span>&#160;        <a class="code" href="classerpc_1_1_message_buffer_1_1_cursor.html">Cursor</a> &amp;<a class="code" href="classerpc_1_1_message_buffer_1_1_cursor.html#a02907775cbd61bd0637398a3ea62c335">operator-=</a>(uint16_t n)</div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;        {</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;            m_pos -= n;</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;            m_remaining += n;</div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;            <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;        }</div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;</div><div class="line"><a name="l00328"></a><span class="lineno"><a class="line" href="classerpc_1_1_message_buffer_1_1_cursor.html#a6689aa97195019a55f3364a6806579c4">  328</a></span>&#160;        <a class="code" href="classerpc_1_1_message_buffer_1_1_cursor.html">Cursor</a> &amp;<a class="code" href="classerpc_1_1_message_buffer_1_1_cursor.html#a6689aa97195019a55f3364a6806579c4">operator++</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;        {</div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;            ++m_pos;</div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;            --m_remaining;</div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;            <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;        }</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;</div><div class="line"><a name="l00340"></a><span class="lineno"><a class="line" href="classerpc_1_1_message_buffer_1_1_cursor.html#a1b2df653c9676b9ccab457f80f8c70e7">  340</a></span>&#160;        <a class="code" href="classerpc_1_1_message_buffer_1_1_cursor.html">Cursor</a> &amp;<a class="code" href="classerpc_1_1_message_buffer_1_1_cursor.html#a1b2df653c9676b9ccab457f80f8c70e7">operator--</a>(<span class="keywordtype">void</span>)</div><div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;        {</div><div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;            --m_pos;</div><div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;            ++m_remaining;</div><div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;            <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;        }</div><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;</div><div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;    <span class="keyword">private</span>:</div><div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;        <a class="code" href="classerpc_1_1_message_buffer.html">MessageBuffer</a> *m_buffer; </div><div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;        uint8_t *m_pos;          </div><div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;        uint16_t m_remaining;    </div><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;    };</div><div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;</div><div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;    uint8_t *<span class="keyword">volatile</span> m_buf;  </div><div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;    uint16_t <span class="keyword">volatile</span> m_len;  </div><div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;    uint16_t <span class="keyword">volatile</span> m_used; </div><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;};</div><div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;</div><div class="line"><a name="l00364"></a><span class="lineno"><a class="line" href="classerpc_1_1_message_buffer_factory.html">  364</a></span>&#160;<span class="keyword">class </span><a class="code" href="classerpc_1_1_message_buffer_factory.html">MessageBufferFactory</a></div><div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;{</div><div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00372"></a><span class="lineno"><a class="line" href="classerpc_1_1_message_buffer_factory.html#a619ed494036f760b0394b43815f2a086">  372</a></span>&#160;    <a class="code" href="classerpc_1_1_message_buffer_factory.html#a619ed494036f760b0394b43815f2a086">MessageBufferFactory</a>(<span class="keywordtype">void</span>) {}</div><div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;</div><div class="line"><a name="l00377"></a><span class="lineno"><a class="line" href="classerpc_1_1_message_buffer_factory.html#add24390e455e842edc93467feb40e8eb">  377</a></span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classerpc_1_1_message_buffer_factory.html#add24390e455e842edc93467feb40e8eb">~MessageBufferFactory</a>(<span class="keywordtype">void</span>) {}</div><div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;</div><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="classerpc_1_1_message_buffer.html">MessageBuffer</a> create(<span class="keywordtype">void</span>) = 0;</div><div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;</div><div class="line"><a name="l00391"></a><span class="lineno"><a class="line" href="classerpc_1_1_message_buffer_factory.html#a52d400d44d1836d7764cc64e3d842a06">  391</a></span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classerpc_1_1_message_buffer_factory.html#a52d400d44d1836d7764cc64e3d842a06">createServerBuffer</a>(<span class="keywordtype">void</span>) { <span class="keywordflow">return</span> <span class="keyword">true</span>; }</div><div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;</div><div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="group__infra.html#ga5f8872e58f09a16d192bf664f9898651">erpc_status_t</a> prepareServerBufferForSend(<a class="code" href="classerpc_1_1_message_buffer.html">MessageBuffer</a> *message);</div><div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;</div><div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> dispose(<a class="code" href="classerpc_1_1_message_buffer.html">MessageBuffer</a> *buf) = 0;</div><div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;};</div><div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;</div><div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;} <span class="comment">// namespace erpc</span></div><div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;</div><div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;<span class="preprocessor">#endif // _EMBEDDED_RPC__MESSAGE_BUFFER_H_</span></div><div class="ttc" id="classerpc_1_1_message_buffer_1_1_cursor_html_a6f3dff599ef13d4ffca7e5d559a50afa"><div class="ttname"><a href="classerpc_1_1_message_buffer_1_1_cursor.html#a6f3dff599ef13d4ffca7e5d559a50afa">erpc::MessageBuffer::Cursor::getRemaining</a></div><div class="ttdeci">uint16_t getRemaining(void) const </div><div class="ttdoc">Return remaining free space in current buffer. </div><div class="ttdef"><b>Definition:</b> erpc_message_buffer.h:247</div></div>
<div class="ttc" id="classerpc_1_1_message_buffer_html_a046c0aa6baf607d5de23f18cfa13f08e"><div class="ttname"><a href="classerpc_1_1_message_buffer.html#a046c0aa6baf607d5de23f18cfa13f08e">erpc::MessageBuffer::read</a></div><div class="ttdeci">erpc_status_t read(uint16_t offset, void *data, uint32_t length)</div><div class="ttdoc">This function read data from local buffer. </div><div class="ttdef"><b>Definition:</b> erpc_message_buffer.cpp:21</div></div>
<div class="ttc" id="classerpc_1_1_message_buffer_1_1_cursor_html_a419699bfaa21427f8b34c95222479e54"><div class="ttname"><a href="classerpc_1_1_message_buffer_1_1_cursor.html#a419699bfaa21427f8b34c95222479e54">erpc::MessageBuffer::Cursor::operator[]</a></div><div class="ttdeci">const uint8_t &amp; operator[](int index) const </div><div class="ttdoc">Array operator return value of buffer at given index. </div><div class="ttdef"><b>Definition:</b> erpc_message_buffer.h:293</div></div>
<div class="ttc" id="group__infra_html_ga5f8872e58f09a16d192bf664f9898651"><div class="ttname"><a href="group__infra.html#ga5f8872e58f09a16d192bf664f9898651">erpc_status_t</a></div><div class="ttdeci">int32_t erpc_status_t</div><div class="ttdoc">Type used for all status and error return values. </div><div class="ttdef"><b>Definition:</b> erpc_common.h:86</div></div>
<div class="ttc" id="classerpc_1_1_message_buffer_1_1_cursor_html_a0e15e87d9811aa62005be4a985b94451"><div class="ttname"><a href="classerpc_1_1_message_buffer_1_1_cursor.html#a0e15e87d9811aa62005be4a985b94451">erpc::MessageBuffer::Cursor::Cursor</a></div><div class="ttdeci">Cursor(MessageBuffer *buffer)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> erpc_message_buffer.h:210</div></div>
<div class="ttc" id="classerpc_1_1_message_buffer_html_ad37d276294bd8d587a741ce0cee14967"><div class="ttname"><a href="classerpc_1_1_message_buffer.html#ad37d276294bd8d587a741ce0cee14967">erpc::MessageBuffer::copy</a></div><div class="ttdeci">erpc_status_t copy(const MessageBuffer *other)</div><div class="ttdoc">This function copy given message buffer to local instance. </div><div class="ttdef"><b>Definition:</b> erpc_message_buffer.cpp:51</div></div>
<div class="ttc" id="classerpc_1_1_message_buffer_html_ada32e828c2edcd3546376d4d3ee90081"><div class="ttname"><a href="classerpc_1_1_message_buffer.html#ada32e828c2edcd3546376d4d3ee90081">erpc::MessageBuffer::MessageBuffer</a></div><div class="ttdeci">MessageBuffer(void)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> erpc_message_buffer.h:44</div></div>
<div class="ttc" id="classerpc_1_1_message_buffer_html_aa0170a6e243e15fc7271d792624b3e96"><div class="ttname"><a href="classerpc_1_1_message_buffer.html#aa0170a6e243e15fc7271d792624b3e96">erpc::MessageBuffer::setUsed</a></div><div class="ttdeci">void setUsed(uint16_t used)</div><div class="ttdoc">This function sets length of used space of buffer. </div><div class="ttdef"><b>Definition:</b> erpc_message_buffer.h:121</div></div>
<div class="ttc" id="classerpc_1_1_message_buffer_factory_html_add24390e455e842edc93467feb40e8eb"><div class="ttname"><a href="classerpc_1_1_message_buffer_factory.html#add24390e455e842edc93467feb40e8eb">erpc::MessageBufferFactory::~MessageBufferFactory</a></div><div class="ttdeci">virtual ~MessageBufferFactory(void)</div><div class="ttdoc">ClientManager destructor. </div><div class="ttdef"><b>Definition:</b> erpc_message_buffer.h:377</div></div>
<div class="ttc" id="classerpc_1_1_message_buffer_1_1_cursor_html"><div class="ttname"><a href="classerpc_1_1_message_buffer_1_1_cursor.html">erpc::MessageBuffer::Cursor</a></div><div class="ttdoc">Cursor within a MessageBuffer. </div><div class="ttdef"><b>Definition:</b> erpc_message_buffer.h:188</div></div>
<div class="ttc" id="classerpc_1_1_message_buffer_html_aedf09a86aef402ba74387c8590bcf23c"><div class="ttname"><a href="classerpc_1_1_message_buffer.html#aedf09a86aef402ba74387c8590bcf23c">erpc::MessageBuffer::operator[]</a></div><div class="ttdeci">uint8_t &amp; operator[](int index)</div><div class="ttdoc">Array operator return value of buffer at given index. </div><div class="ttdef"><b>Definition:</b> erpc_message_buffer.h:176</div></div>
<div class="ttc" id="classerpc_1_1_message_buffer_html_aa0aa4b6ee452d083cbaaf0ce5fe6517f"><div class="ttname"><a href="classerpc_1_1_message_buffer.html#aa0aa4b6ee452d083cbaaf0ce5fe6517f">erpc::MessageBuffer::getUsed</a></div><div class="ttdeci">uint16_t getUsed(void) const </div><div class="ttdoc">This function returns length of used space of buffer. </div><div class="ttdef"><b>Definition:</b> erpc_message_buffer.h:107</div></div>
<div class="ttc" id="classerpc_1_1_message_buffer_1_1_cursor_html_a13613fadb3bb88585f5802ff845259a4"><div class="ttname"><a href="classerpc_1_1_message_buffer_1_1_cursor.html#a13613fadb3bb88585f5802ff845259a4">erpc::MessageBuffer::Cursor::read</a></div><div class="ttdeci">erpc_status_t read(void *data, uint32_t length)</div><div class="ttdoc">Read data from current buffer. </div><div class="ttdef"><b>Definition:</b> erpc_message_buffer.cpp:82</div></div>
<div class="ttc" id="classerpc_1_1_message_buffer_1_1_cursor_html_a1b2df653c9676b9ccab457f80f8c70e7"><div class="ttname"><a href="classerpc_1_1_message_buffer_1_1_cursor.html#a1b2df653c9676b9ccab457f80f8c70e7">erpc::MessageBuffer::Cursor::operator--</a></div><div class="ttdeci">Cursor &amp; operator--(void)</div><div class="ttdoc">Substract -1 operator. </div><div class="ttdef"><b>Definition:</b> erpc_message_buffer.h:340</div></div>
<div class="ttc" id="classerpc_1_1_message_buffer_1_1_cursor_html_a63d96e45fb73f509b40c9692734b77c8"><div class="ttname"><a href="classerpc_1_1_message_buffer_1_1_cursor.html#a63d96e45fb73f509b40c9692734b77c8">erpc::MessageBuffer::Cursor::get</a></div><div class="ttdeci">uint8_t * get(void)</div><div class="ttdoc">Return position in buffer. </div><div class="ttdef"><b>Definition:</b> erpc_message_buffer.h:231</div></div>
<div class="ttc" id="classerpc_1_1_message_buffer_factory_html_a619ed494036f760b0394b43815f2a086"><div class="ttname"><a href="classerpc_1_1_message_buffer_factory.html#a619ed494036f760b0394b43815f2a086">erpc::MessageBufferFactory::MessageBufferFactory</a></div><div class="ttdeci">MessageBufferFactory(void)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> erpc_message_buffer.h:372</div></div>
<div class="ttc" id="classerpc_1_1_message_buffer_1_1_cursor_html_a721666b1b9f1460e103a4b69fabf063d"><div class="ttname"><a href="classerpc_1_1_message_buffer_1_1_cursor.html#a721666b1b9f1460e103a4b69fabf063d">erpc::MessageBuffer::Cursor::operator[]</a></div><div class="ttdeci">uint8_t &amp; operator[](int index)</div><div class="ttdoc">Array operator return value of buffer at given index. </div><div class="ttdef"><b>Definition:</b> erpc_message_buffer.h:286</div></div>
<div class="ttc" id="classerpc_1_1_message_buffer_1_1_cursor_html_a6689aa97195019a55f3364a6806579c4"><div class="ttname"><a href="classerpc_1_1_message_buffer_1_1_cursor.html#a6689aa97195019a55f3364a6806579c4">erpc::MessageBuffer::Cursor::operator++</a></div><div class="ttdeci">Cursor &amp; operator++(void)</div><div class="ttdoc">Sum +1 operator. </div><div class="ttdef"><b>Definition:</b> erpc_message_buffer.h:328</div></div>
<div class="ttc" id="classerpc_1_1_message_buffer_html_a064fda9eef763265dd9de81142011e33"><div class="ttname"><a href="classerpc_1_1_message_buffer.html#a064fda9eef763265dd9de81142011e33">erpc::MessageBuffer::getLength</a></div><div class="ttdeci">uint16_t getLength(void) const </div><div class="ttdoc">This function returns length of buffer. </div><div class="ttdef"><b>Definition:</b> erpc_message_buffer.h:100</div></div>
<div class="ttc" id="classerpc_1_1_message_buffer_html_a7432d37f64b91d65a8df06016cec22e1"><div class="ttname"><a href="classerpc_1_1_message_buffer.html#a7432d37f64b91d65a8df06016cec22e1">erpc::MessageBuffer::getFree</a></div><div class="ttdeci">uint16_t getFree(void) const </div><div class="ttdoc">This function returns length of free space of buffer. </div><div class="ttdef"><b>Definition:</b> erpc_message_buffer.h:114</div></div>
<div class="ttc" id="classerpc_1_1_message_buffer_html"><div class="ttname"><a href="classerpc_1_1_message_buffer.html">erpc::MessageBuffer</a></div><div class="ttdoc">Represents a memory buffer containing a message. </div><div class="ttdef"><b>Definition:</b> erpc_message_buffer.h:36</div></div>
<div class="ttc" id="namespaceerpc_html"><div class="ttname"><a href="namespaceerpc.html">erpc</a></div><div class="ttdef"><b>Definition:</b> erpc_arbitrated_client_manager.h:25</div></div>
<div class="ttc" id="classerpc_1_1_message_buffer_html_a673ecf17b4876dcf4dff6313c5375d8c"><div class="ttname"><a href="classerpc_1_1_message_buffer.html#a673ecf17b4876dcf4dff6313c5375d8c">erpc::MessageBuffer::swap</a></div><div class="ttdeci">void swap(MessageBuffer *other)</div><div class="ttdoc">This function swap message buffer attributes between given instance and local instance. </div><div class="ttdef"><b>Definition:</b> erpc_message_buffer.cpp:60</div></div>
<div class="ttc" id="classerpc_1_1_message_buffer_1_1_cursor_html_a60509ca3865cd27ce1200acf6ea21393"><div class="ttname"><a href="classerpc_1_1_message_buffer_1_1_cursor.html#a60509ca3865cd27ce1200acf6ea21393">erpc::MessageBuffer::Cursor::Cursor</a></div><div class="ttdeci">Cursor(void)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> erpc_message_buffer.h:196</div></div>
<div class="ttc" id="classerpc_1_1_message_buffer_factory_html_a52d400d44d1836d7764cc64e3d842a06"><div class="ttname"><a href="classerpc_1_1_message_buffer_factory.html#a52d400d44d1836d7764cc64e3d842a06">erpc::MessageBufferFactory::createServerBuffer</a></div><div class="ttdeci">virtual bool createServerBuffer(void)</div><div class="ttdoc">This function inform server if it has to create buffer for received message. </div><div class="ttdef"><b>Definition:</b> erpc_message_buffer.h:391</div></div>
<div class="ttc" id="classerpc_1_1_message_buffer_html_a7785b972a2ed8719a7afcd8f15c1b3ca"><div class="ttname"><a href="classerpc_1_1_message_buffer.html#a7785b972a2ed8719a7afcd8f15c1b3ca">erpc::MessageBuffer::MessageBuffer</a></div><div class="ttdeci">MessageBuffer(uint8_t *buffer, uint16_t length)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> erpc_message_buffer.h:59</div></div>
<div class="ttc" id="classerpc_1_1_message_buffer_1_1_cursor_html_a7e3588d2e063d827dbe5dbf72d5952e8"><div class="ttname"><a href="classerpc_1_1_message_buffer_1_1_cursor.html#a7e3588d2e063d827dbe5dbf72d5952e8">erpc::MessageBuffer::Cursor::write</a></div><div class="ttdeci">erpc_status_t write(const void *data, uint32_t length)</div><div class="ttdoc">Read data from current buffer. </div><div class="ttdef"><b>Definition:</b> erpc_message_buffer.cpp:97</div></div>
<div class="ttc" id="classerpc_1_1_message_buffer_factory_html"><div class="ttname"><a href="classerpc_1_1_message_buffer_factory.html">erpc::MessageBufferFactory</a></div><div class="ttdoc">Abstract interface for message buffer factory. </div><div class="ttdef"><b>Definition:</b> erpc_message_buffer.h:364</div></div>
<div class="ttc" id="classerpc_1_1_message_buffer_1_1_cursor_html_a02907775cbd61bd0637398a3ea62c335"><div class="ttname"><a href="classerpc_1_1_message_buffer_1_1_cursor.html#a02907775cbd61bd0637398a3ea62c335">erpc::MessageBuffer::Cursor::operator-=</a></div><div class="ttdeci">Cursor &amp; operator-=(uint16_t n)</div><div class="ttdoc">Substract operator return local buffer. </div><div class="ttdef"><b>Definition:</b> erpc_message_buffer.h:316</div></div>
<div class="ttc" id="classerpc_1_1_message_buffer_html_a9f47a5776a51c53d4a8516c354d21d19"><div class="ttname"><a href="classerpc_1_1_message_buffer.html#a9f47a5776a51c53d4a8516c354d21d19">erpc::MessageBuffer::write</a></div><div class="ttdeci">erpc_status_t write(uint16_t offset, const void *data, uint32_t length)</div><div class="ttdoc">This function write data to local buffer. </div><div class="ttdef"><b>Definition:</b> erpc_message_buffer.cpp:36</div></div>
<div class="ttc" id="classerpc_1_1_message_buffer_1_1_cursor_html_ab3ea93264bdf3679f3d77e53f1f85552"><div class="ttname"><a href="classerpc_1_1_message_buffer_1_1_cursor.html#ab3ea93264bdf3679f3d77e53f1f85552">erpc::MessageBuffer::Cursor::operator+=</a></div><div class="ttdeci">Cursor &amp; operator+=(uint16_t n)</div><div class="ttdoc">Sum operator return local buffer. </div><div class="ttdef"><b>Definition:</b> erpc_message_buffer.h:302</div></div>
<div class="ttc" id="classerpc_1_1_message_buffer_html_a2f3450dcebc3fec37f2d5719847042f8"><div class="ttname"><a href="classerpc_1_1_message_buffer.html#a2f3450dcebc3fec37f2d5719847042f8">erpc::MessageBuffer::operator[]</a></div><div class="ttdeci">const uint8_t &amp; operator[](int index) const </div><div class="ttdoc">Array operator return value of buffer at given index. </div><div class="ttdef"><b>Definition:</b> erpc_message_buffer.h:183</div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.5-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul class="foot">
    <li class="footer">Copyright 2016-2020 NXP Semiconductors. All rights reserved.
    </li>
  </ul>
</div>
</body>
</html>
